home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / GNU / GNUPLOTsrc.lha / setshow.h < prev    next >
C/C++ Source or Header  |  1996-01-22  |  8KB  |  253 lines

  1. /*
  2.  * $Id: setshow.h,v 1.28 1995/12/10 18:33:49 drd Exp $
  3.  *
  4.  */
  5.  
  6. /* GNUPLOT - setshow.h */
  7. /*
  8.  * Copyright (C) 1986 - 1993   Thomas Williams, Colin Kelley
  9.  *
  10.  * Permission to use, copy, and distribute this software and its
  11.  * documentation for any purpose with or without fee is hereby granted, 
  12.  * provided that the above copyright notice appear in all copies and 
  13.  * that both that copyright notice and this permission notice appear 
  14.  * in supporting documentation.
  15.  *
  16.  * Permission to modify the software is granted, but not the right to
  17.  * distribute the modified code.  Modifications are to be distributed 
  18.  * as patches to released version.
  19.  *  
  20.  * This software is provided "as is" without express or implied warranty.
  21.  * 
  22.  *
  23.  * AUTHORS
  24.  * 
  25.  *   Original Software:
  26.  *     Thomas Williams,  Colin Kelley.
  27.  * 
  28.  *   Gnuplot 2.0 additions:
  29.  *       Russell Lang, Dave Kotz, John Campbell.
  30.  *
  31.  *   Gnuplot 3.0 additions:
  32.  *       Gershon Elber and many others.
  33.  *
  34.  * There is a mailing list for gnuplot users. Note, however, that the
  35.  * newsgroup 
  36.  *    comp.graphics.gnuplot 
  37.  * is identical to the mailing list (they
  38.  * both carry the same set of messages). We prefer that you read the
  39.  * messages through that newsgroup, to subscribing to the mailing list.
  40.  * (If you can read that newsgroup, and are already on the mailing list,
  41.  * please send a message info-gnuplot-request@dartmouth.edu, asking to be
  42.  * removed from the mailing list.)
  43.  *
  44.  * The address for mailing to list members is
  45.  *       info-gnuplot@dartmouth.edu
  46.  * and for mailing administrative requests is 
  47.  *       info-gnuplot-request@dartmouth.edu
  48.  * The mailing list for bug reports is 
  49.  *       bug-gnuplot@dartmouth.edu
  50.  * The list of those interested in beta-test versions is
  51.  *       info-gnuplot-beta@dartmouth.edu
  52.  */
  53.  
  54.  
  55. #ifndef DEFAULT_TIMESTAMP_FORMAT
  56. #define DEFAULT_TIMESTAMP_FORMAT "%a %b %d %H:%M:%S %Y" /* asctime() format */
  57. #endif
  58.  
  59. /*
  60.  * global variables to hold status of 'set' options
  61.  *
  62.  */
  63.  
  64. typedef struct {
  65.     char text[MAX_LINE_LEN+1];
  66.     double xoffset, yoffset;
  67.     char font[MAX_LINE_LEN+1];
  68. } label_struct;
  69.  
  70.  
  71. extern TBOOLEAN                 multiplot;
  72.  
  73. extern TBOOLEAN            autoscale_r;
  74. extern TBOOLEAN            autoscale_t;
  75. extern TBOOLEAN            autoscale_u;
  76. extern TBOOLEAN            autoscale_v;
  77. extern TBOOLEAN            autoscale_x;
  78. extern TBOOLEAN            autoscale_y;
  79. extern TBOOLEAN            autoscale_z;
  80. extern TBOOLEAN            autoscale_x2;
  81. extern TBOOLEAN            autoscale_y2;
  82. extern TBOOLEAN            autoscale_lt;
  83. extern TBOOLEAN            autoscale_lu;
  84. extern TBOOLEAN            autoscale_lv;
  85. extern TBOOLEAN            autoscale_lx;
  86. extern TBOOLEAN            autoscale_ly;
  87. extern TBOOLEAN            autoscale_lz;
  88. extern double            boxwidth;
  89. extern TBOOLEAN            clip_points;
  90. extern TBOOLEAN            clip_lines1;
  91. extern TBOOLEAN            clip_lines2;
  92. extern int            draw_border;
  93. #define SOUTH            1 /* 0th bit */
  94. #define WEST            2 /* 1th bit */
  95. #define NORTH            4 /* 2th bit */
  96. #define EAST            8 /* 3th bit */
  97. #define border_east        (draw_border & EAST)
  98. #define border_west        (draw_border & WEST)
  99. #define border_south        (draw_border & SOUTH)
  100. #define border_north        (draw_border & NORTH)
  101. extern TBOOLEAN            draw_surface;
  102. extern char            dummy_var[MAX_NUM_VAR][MAX_ID_LEN+1];
  103. extern char            default_font[]; /* Entry font added by DJL */
  104. extern char            xformat[];
  105. extern char            yformat[];
  106. extern char            zformat[];
  107. extern char            x2format[];
  108. extern char            y2format[];
  109. /* do these formats look like printf or time ? */
  110. extern int format_is_numeric[];
  111.  
  112. extern char            key_title[];
  113. extern enum PLOT_STYLE data_style, func_style;
  114. extern double bar_size;
  115. extern int            grid, grid_linetype, mgrid_linetype;
  116. extern double     polar_grid_angle; /* angle step in polar grid in radians */
  117. extern int            key;
  118. extern struct position key_user_pos; /* user specified position for key */
  119. extern int             key_vpos, key_hpos, key_just;
  120. extern TBOOLEAN            key_reverse;  /* key back to front */
  121. extern int            key_box;  /* linetype round box < -2 = none */
  122. extern TBOOLEAN            is_log_x, is_log_y, is_log_z;
  123. extern double            base_log_x, base_log_y, base_log_z;
  124.                 /* base, for computing pow(base,x) */
  125. extern double            log_base_log_x, log_base_log_y, log_base_log_z;
  126.                 /* log of base, for computing logbase(base,x) */
  127. extern TBOOLEAN            is_log_x2, is_log_y2;
  128. extern double            base_log_x2, base_log_y2;
  129.                 /* base, for computing pow(base,x) */
  130. extern double            log_base_log_x2, log_base_log_y2;
  131.                 /* log of base, for computing logbase(base,x) */
  132. extern FILE*            outfile;
  133. extern char            outstr[];
  134. extern TBOOLEAN            parametric;
  135. extern double            pointsize;
  136. extern TBOOLEAN            polar;
  137. extern TBOOLEAN            hidden3d;
  138. extern int            angles_format;
  139. extern double            ang2rad; /* 1 or pi/180 */
  140. extern int            mapping3d;
  141. extern int            samples;
  142. extern int            samples_1;
  143. extern int            samples_2;
  144. extern int            iso_samples_1;
  145. extern int            iso_samples_2;
  146. extern float            xsize; /* scale factor for size */
  147. extern float                    xoffset;
  148. extern float                    yoffset;
  149. extern float            ysize; /* scale factor for size */
  150. extern float            zsize; /* scale factor for size */
  151. extern TBOOLEAN      square;
  152. extern float            surface_rot_z;
  153. extern float            surface_rot_x;
  154. extern float            surface_scale;
  155. extern float            surface_zscale;
  156. extern char            term_options[];
  157.  
  158. extern label_struct title, timelabel;
  159. extern label_struct xlabel, ylabel, zlabel;
  160. extern label_struct x2label, y2label;
  161.  
  162. extern char            timefmt[];
  163. extern int             datatype[];
  164. extern int            range_flags[];
  165. extern double            rmin, rmax;
  166. extern double            tmin, tmax, umin, umax, vmin, vmax;
  167. extern double            xmin, xmax, ymin, ymax, zmin, zmax;
  168. extern double            x2min, x2max, y2min, y2max;
  169. extern double            loff, roff, toff, boff;
  170. extern int            draw_contour;
  171. extern TBOOLEAN      label_contours;
  172. extern char            contour_format[];
  173. extern int            contour_pts;
  174. extern int            contour_kind;
  175. extern int            contour_order;
  176. extern int            contour_levels;
  177. extern double            zero; /* zero threshold, not 0! */
  178. extern int            levels_kind;
  179. extern double        levels_list[MAX_DISCRETE_LEVELS];
  180.  
  181. extern int            dgrid3d_row_fineness;
  182. extern int            dgrid3d_col_fineness;
  183. extern int            dgrid3d_norm_value;
  184. extern TBOOLEAN            dgrid3d;
  185.  
  186. #define ENCODING_DEFAULT    0
  187. #define ENCODING_ISO_8859_1    1
  188. #define ENCODING_CP_437        2
  189. #define ENCODING_CP_850        3   /* JFi */
  190.  
  191. extern int            encoding;
  192. extern char            *encoding_names[];
  193.  
  194. /* -3 for no axis, or linetype */
  195. extern int xzeroaxis;
  196. extern int yzeroaxis;
  197. extern int x2zeroaxis;
  198. extern int y2zeroaxis;
  199.  
  200. extern int xtics;
  201. extern int ytics;
  202. extern int ztics;
  203. extern int mxtics;
  204. extern int mytics;
  205. extern int mztics;
  206. extern int x2tics;
  207. extern int y2tics;
  208. extern int mx2tics;
  209. extern int my2tics;
  210. extern double mxtfreq;
  211. extern double mytfreq;
  212. extern double mztfreq;
  213. extern double mx2tfreq;
  214. extern double my2tfreq;
  215.  
  216. extern float ticslevel;
  217. extern double ticscale; /* scale factor for tic marks (was (0..1])*/
  218. extern double miniticscale; /* and for minitics */
  219.  
  220. extern struct ticdef xticdef;
  221. extern struct ticdef yticdef;
  222. extern struct ticdef zticdef;
  223. extern struct ticdef x2ticdef;
  224. extern struct ticdef y2ticdef;
  225.  
  226. extern TBOOLEAN            tic_in;
  227.  
  228. extern struct text_label *first_label;
  229. extern struct arrow_def *first_arrow;
  230.  
  231. extern int lmargin, bmargin,rmargin,tmargin; /* plot border in characters */
  232.  
  233. extern char cur_locale[MAX_ID_LEN+1];
  234.  
  235. extern char full_month_names[12][32];
  236. extern char abbrev_month_names[12][8];
  237.  
  238. extern char full_day_names[7][32];
  239. extern char abbrev_day_names[7][8];
  240.  
  241. /* The set and show commands, in setshow.c */
  242. void set_command __P((void));
  243. void reset_command __P((void));
  244. void show_command __P((void));
  245. /* and some accessible support functions */
  246. enum PLOT_STYLE get_style __P((void));
  247. TBOOLEAN load_range __P((int axis, double *a, double *b, int autosc));
  248. void show_version __P((void));
  249. char * conv_text __P((char *s, char *t));
  250.  
  251. /* string representing missing values, ascii datafiles */
  252. extern char *missing_val;
  253.